package com.governtalk.backend.service;

import com.governtalk.backend.dto.BrowseHistoryDto;
import org.springframework.data.domain.Page;

public interface BrowseHistoryService {
    
    // 添加浏览历史
    BrowseHistoryDto addBrowseHistory(BrowseHistoryDto browseHistoryDto);
    
    // 获取用户的浏览历史
    Page<BrowseHistoryDto> getUserBrowseHistory(Long userId, int page, int size);
    
    // 根据内容类型获取浏览历史
    Page<BrowseHistoryDto> getUserBrowseHistoryByType(Long userId, String contentType, int page, int size);
    
    // 搜索浏览历史
    Page<BrowseHistoryDto> searchUserBrowseHistory(Long userId, String keyword, int page, int size);
    
    // 删除浏览历史
    void deleteBrowseHistory(Long historyId);
    
    // 批量删除浏览历史
    void batchDeleteBrowseHistory(Long userId, Long[] historyIds);
    
    // 清空用户浏览历史
    void clearUserBrowseHistory(Long userId);
    
    // 清空特定类型的浏览历史
    void clearUserBrowseHistoryByType(Long userId, String contentType);
}
